package com.ruoyi.supermarket.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.supermarket.domain.Sale;
import com.ruoyi.supermarket.domain.Vo.ShXs;

/**
 * 销售汇总Service接口
 * 
 * @author ruoyi
 * @date 2024-05-28
 */
public interface ISaleService 
{
    /**
     * 查询销售汇总
     * 
     * @param saleId 销售汇总主键
     * @return 销售汇总
     */
    public Sale selectSaleBySaleId(Long saleId);

    /**
     * 查询销售汇总列表
     * 
     * @param sale 销售汇总
     * @return 销售汇总集合
     */
    public List<Sale> selectSaleList(Sale sale);

    /**
     * 新增销售汇总
     * 
     * @param sale 销售汇总
     * @return 结果
     */
    public int insertSale(Sale sale);

    /**
     * 修改销售汇总
     * 
     * @param sale 销售汇总
     * @return 结果
     */
    public int updateSale(Sale sale);

    /**
     * 批量删除销售汇总
     * 
     * @param saleIds 需要删除的销售汇总主键集合
     * @return 结果
     */
    public int deleteSaleBySaleIds(Long[] saleIds);

    /**
     * 删除销售汇总信息
     * 
     * @param saleId 销售汇总主键
     * @return 结果
     */
    public int deleteSaleBySaleId(Long saleId);

    AjaxResult audit(ShXs shXs);

    AjaxResult pay(List<Long> ids);

    AjaxResult outStore(Long saleId);

    List<Sale> selectSaleListTwo(Sale sale);

    AjaxResult inStore(Long saleId);

    List<Sale> selectSaleListThree(Sale sale);

    int updatefsh(Sale sale);

    List<Sale> selectSaleListZf(Sale sale);

    AjaxResult zfSale(Long saleId);

    List<Sale> selectSaleListCs(Sale sale);
}
